package com.csust.automaticteach.utils;

/**
 * @ClassNameParseGenerateExerciseJson
 * @Description 解析生成题目的json字符串
 * @Author钰玟
 * @Date2025/6/20 上午10:35
 * @Version 1.0
 **/

import cn.hutool.json.JSONUtil;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

/**
 * 解析生成题目的json字符串
 */
@Component
public class ParseGenerateExerciseJsonUtil {
    /**
     * 解析json字符串
     *
     * @param result json字符串
     */
    public <T> List<T> parseJson(String result, Class<T> clazz) {
        //1.生成的是一个json数组，解析为字符串数组
        List<String> jsonList = JSONUtil.toList(result, String.class);
        //题目列表
        List<T> targetList = new ArrayList<>();
        //遍历json数组
        for (String ele : jsonList) {
            //解析为bean
            T bean = JSONUtil.toBean(ele, clazz);

            //添加bean
            targetList.add(bean);
        }
        return targetList;
    }
}
